package com.qixiaobao.insure.mapper;

import com.qixiaobao.insure.domain.MatchInsure;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @Description 匹配投保  数据层
 * @Author yangxm
 * @Date 2025/6/18 11:09
 */
@Mapper
public interface MatchInsureMapper {


    /**
     * @Description 查询匹配前的保单ID集合
     * @Author yangxm
     * @Date 2025/6/18 11:11
     * @param matchInsure
     * @return java.util.List<java.lang.Long>
     */
    List<Long> selectFromInsureIdList(MatchInsure matchInsure);

    /**
     * @Description 根据匹配前保单ID，查询在保、匹配前保单号为空或匹配前保单文件为空的匹配前保单信息  天保
     * @Author yangxm
     * @Date 2025/6/18 11:11
     * @param fromInsureIdList
     * @return java.util.List<com.qixiaobao.insure.domain.MatchInsure>
     */
    List<MatchInsure> selectDayMatchInsureList(List<Long> fromInsureIdList);

    /**
     * @Description 根据匹配前保单ID，查询未退保，且原始保单文件为空的匹配前保单信息
     * @Author yangxm
     * @Date 2025/6/18 11:19
     * @param fromInsureIdList
     * @return java.util.List<com.qixiaobao.insure.domain.MatchInsure>
     */
    List<MatchInsure> selectMatchOriginalInsureList(List<Long> fromInsureIdList);

    /**
     * @Description 根据匹配前保单ID，查询匹配投保信息
     * @Author yangxm
     * @Date 2025/6/18 11:20
     * @param fromInsureIdList
     * @return java.util.List<com.qixiaobao.insure.domain.MatchInsure>
     */
    List<MatchInsure> selectMatchInsureList(List<Long> fromInsureIdList);

    /**
     * @Description 根据匹配前保单ID，查询匹配后供应商简称
     * @Author yangxm
     * @Date 2025/6/18 11:20
     * @param insureIdList
     * @return java.util.List<com.qixiaobao.insure.domain.MatchInsure>
     */
    List<MatchInsure> selectToSupplyShortNameList(List<Long> insureIdList);

    /**
     * @Description 根据匹配后查询匹配前的所有保单id
     * @Author yangxm
     * @Date 2025/6/18 11:20
     * @param matchInsure
     * @return java.util.List<com.qixiaobao.insure.domain.MatchInsure>
     */
    List<Long> selectFullFromInsureIdList(MatchInsure matchInsure);
}
